//import io.kubernetes.client.openapi.ApiClient;
//import io.kubernetes.client.openapi.ApiException;
//import io.kubernetes.client.openapi.Configuration;
//import io.kubernetes.client.openapi.apis.CoreV1Api;
//import io.kubernetes.client.util.Config;
//
//import java.io.BufferedReader;
//import java.io.IOException;
//import java.io.InputStreamReader;
//import java.io.OutputStream;
//
//public class ExecCommandExample {
//
//    public static void main(String[] args) {
//        try {
//            // 加载 kubeconfig 文件配置
//            ApiClient client = Config.defaultClient();
//            Configuration.setDefaultApiClient(client);
//
//            CoreV1Api api = new CoreV1Api();
//
//            String namespace = "default"; // 替换为你的命名空间
//            String podName = "your-pod-name"; // 替换为你的 Pod 名称
//            String containerName = "your-container-name"; // 如果有多个容器，请指定容器名称
//            //String[] command = {"ls", "-l"}; // 要执行的命令
//            String command = "/bin/sh -c \"echo Hello, World!\"";
//
//            // 创建一个进程来执行命令
//            ProcessBuilder pb = new ProcessBuilder(command);
//            Process process = pb.start();
//
//            // 连接到 Pod 并执行命令
//            BufferedReader stdoutReader = null;
//            BufferedReader stderrReader = null;
//            try (InputStreamReader stdoutIsr = new InputStreamReader(api.connectGetNamespacedPodExec(
//                    podName,
//                    namespace,
//                    command,
//                    containerName, // 容器名称
//                    true, // stderr
//                    false, // stdin (我们这里不需要从客户端发送数据)
//                    true, // stdout
//                    false // tty
//            ))) {
//                stdoutReader = new BufferedReader(stdoutIsr);
//                String line;
//                while ((line = stdoutReader.readLine()) != null) {
//                    System.out.println("STDOUT: " + line);
//                }
//            } catch (ApiException e) {
//                e.printStackTrace();
//            }
//
//            // 同样地，你可以处理stderr输出
//            try (InputStreamReader stderrIsr = new InputStreamReader(api.connectGetNamespacedPodExec(
//                    podName,
//                    namespace,
//                    command,
//                    containerName, // 容器名称
//                    true, // stderr
//                    false, // stdin (我们这里不需要从客户端发送数据)
//                    true, // stdout
//                    false // tty
//            ))) {
//                stderrReader = new BufferedReader(stderrIsr);
//                String line;
//                while ((line = stderrReader.readLine()) != null) {
//                    System.err.println("STDERR: " + line);
//                }
//            } catch (ApiException e) {
//                e.printStackTrace();
//            }
//
//            // 等待命令完成
//            try {
//                int exitCode = process.waitFor();
//                System.out.println("Process exited with code " + exitCode);
//            } catch (InterruptedException e) {
//                e.printStackTrace();
//            }
//
//        } catch (IOException | ApiException e) {
//            e.printStackTrace();
//        }
//    }
//}